/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */

package ifpb.pp.lp.entity;

import java.io.Serializable;
import java.util.ArrayList;
import java.util.Date;
import java.util.List;
import javax.persistence.CascadeType;
import javax.persistence.Entity;
import javax.persistence.GeneratedValue;
import javax.persistence.Id;
import javax.persistence.OneToMany;
import javax.persistence.Temporal;
import javax.persistence.TemporalType;

/**
 *
 * @author Gabriella
 */
@Entity
public class Venda implements Serializable {

    private int id;
    private Date dataEntrega;
    private List<Produto> meusProdutos;

    public Venda() {
        this.meusProdutos = new ArrayList<Produto>();
    }

    public Venda(Date data) {
        this.meusProdutos = new ArrayList<Produto>();
        this.dataEntrega = data;
    }

    @Temporal(TemporalType.DATE)
    public Date getDataEntrega() {
        return dataEntrega;
    }

    public void setDataEntrega(Date data) {
        this.dataEntrega = data;
    }

    @Id
    @GeneratedValue
    public int getId() {
        return id;
    }

    public void setId(int id) {
        this.id = id;
    }

    @OneToMany(cascade={CascadeType.PERSIST,CascadeType.REFRESH})
    public List<Produto> getMeusProdutos() {
        return meusProdutos;
    }

    public void setMeusProdutos(List<Produto> meusProdutos) {
        this.meusProdutos = meusProdutos;
    }

    public boolean addProdutos(Produto produto){
        return this.meusProdutos.add(produto);
    }

    public boolean removeProdutos(Produto produto){
        if(this.meusProdutos.contains(produto)){
            return this.meusProdutos.remove(produto);
        }
        return true;
    }
}
